home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / Libraries / PNL Libraries / MyEthernet.p < prev    next >
Encoding:
Text File  |  1995-01-21  |  983 b   |  48 lines  |  [TEXT/CWIE]

  1. unit MyEthernet;
  2.  
  3. interface
  4.  
  5.     uses
  6.         Types, Devices;
  7.  
  8.     type
  9.         ethernetAddress = packed array[0..5] of byte;
  10.  
  11.     function OpenEthernetDriver (var ern: integer): OSErr;
  12.     function GetEthernetAddress (ern: integer; var addr: ethernetAddress): OSErr;
  13.  
  14. implementation
  15.  
  16.     uses
  17.         ENET;
  18.  
  19.     function OpenEthernetDriver (var ern: integer): OSErr;
  20.         var
  21.             err: OSErr;
  22.     begin
  23.         err := OpenDriver('.ENET', ern);
  24.         if err <> noErr then begin
  25.             err := OpenDriver('.ENET0', ern);        (* check for SCSI Ethernet devices *)
  26.         end; (* if *)
  27.         OpenEthernetDriver := err;
  28.     end;
  29.  
  30.     function GetEthernetAddress (ern: integer; var addr: ethernetAddress): OSErr;
  31.         var
  32.             err: OSErr;
  33.             buffer: packed array[0..77] of byte;
  34.             pb: EParamBlock;
  35.             i: integer;
  36.     begin
  37.         pb.ioRefNum := ern;
  38.         pb.csCode := ENetGetInfo;
  39.         pb.ePointer := @buffer;
  40.         pb.eBuffSize := sizeof(buffer);
  41.         err := EGetInfo(@pb, false);
  42.         if err = noErr then begin
  43.             BlockMove(@buffer, @addr, 6);
  44.         end;
  45.         GetEthernetAddress := err;
  46.     end;
  47.  
  48. end.